As e-business and its related requirements grow at “Web speed”, a critical issue is whether the IT infrastructure supporting the Web sites has what it needs to provide available, scalable, fast, and efficient access to the company's information, products, and services. More than ever, CIOs (Chief Information Officers) and their teams struggle with the challenges to minimize downtime and network bottlenecks and maximize the use of the hardware and software that comprises their e-business infrastructure.
The task of planning for optimum configuration for large Web servers has become ever challenging. This is because the hardware and software structure of large Web sites are getting increasingly complex, and the characteristics of the associated workloads are at best poorly understood, or at worst, essentially unknown because the workload has yet to be implemented.
Even with this growing complexity, typical IT infrastructures can be analyzed and related models (i.e. simulators) can be developed to assist in predicting and planning how to meet future requirements. However, the results are not satisfactory. The predictions can become somewhat complex when, as is often the case, there are many different hardware and software configurations that must be tried, and there are number of performance criteria that must all be simultaneously met, while at the same time maximizing system throughput or the number of concurrent users supported by the system.
Capacity planning and performance modeling of complex computer systems generally require detailed information about the workload assumed to be running on those systems. For detailed performance studies of processors, a trace of the workload is typically used. This combined with the right model and right configuration of the processor hardware can be used to estimate the performance and capacity of a given workload with a specific performance objectives.
An intractable task in a multi-tier Web server's performance and capacity planning is to identify an optimal hardware configuration that can achieve the performance objectives of a given workload. This task has become more complex by proliferation of many different hardware and architectural options available today. The following requirements (i.e. parameters) have to be typically addressed in determining the proper hardware configuration:                Workload Type (i.e. Application Type)—Workload types include: Publish/Subscribe (e.g. search engines, media sites, event sites such as Olympics and Wimbledon), Online Shopping (e.g. most retail sites), Customer Self-Service (e.g. online banking, package tracking, airline reservations), Online Trading and Business-to-Business. These workload types demand system resources in a different way. For example, transaction volume is low-to-moderate in some and moderate-to-high in others. Online banking may require heavy interactions with the database than browsing during online shopping. Security considerations are high in some such as online trading and online banking, but low in others such as search engines and media sites.        Performance Objectives—Performance objectives include: System Throughput, Response Time, Resource Utilization, Number of Concurrent Users, etc. These performance objectives may be specified individually or collectively. When more than one objective is specified, those objectives should all be met simultaneously.        Web Infrastructure—Based on the business requirements such as scalability, security, system management, etc., there are three architectural options for Web Infrastructures: (i) Single Tier, where the Web, the application, and the database processing are all done on a single physical hardware machine; (ii) Two Tiers, where the Web and the application processing are done on a single physical hardware machine while the database processing is done on a different hardware machine; and (iii) Three Tiers, where each of the Web, the application, and the database processing is done on three different hardware machines.        Hardware Type—Various vendors such as IBM, SUN, HP and others offer wide variety of hardware brands, models and options with different performance characteristics and within different price ranges. A database of various hardware types along with their performance and capacity characteristics as claimed by the vendor is created. Within this database, all hardware types are ranked and a Performance Index (PI) representing a relative performance is assigned to each hardware type. This database is constantly updated to accommodate new hardware models and changes to the current models.        System Cluster Structure—Requirements of large computing environments are generally not satisfied with a single hardware machine. As a result, customers build a system cluster structure consisting of many hardware machines capable of communicating with each other and computing different tasks simultaneously within the cluster. There are numerous possibilities for a system cluster structure. Some customers prefer more powerful but fewer machines (i.e. Vertical Solution) while others prefer less powerful but more machines (i.e. Horizontal Solution). The choice depends on many factors such as price, business growth projections, security, ease of system management, geographical nature of the business, disaster recovery, etc.        
To identify an optimal hardware configuration, the above-mentioned requirements (i.e. parameters) have to be typically addressed concurrently. As a result, the user is often required to find a best-fit solution by a trial and error method. This requires adjusting the parameters and running the model (i.e. simulator) several times before finding a solution. The number of model runs depends on the starting point (i.e. arbitrary initial parameter specification) and the result is not guaranteed to be the best-fit solution.
What is needed is an algorithm, which takes all the above requirements and complexities into the consideration, eliminates trial and error methods, and relieves the user from making multiple model runs; and by which various performance simulators can identify an optimum hardware configuration that can achieve the performance objectives of a given workload in an efficient and cost effective manner.